/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.project.entity;

import org.hibernate.validator.constraints.Length;
import com.thinkgem.jeesite.modules.sys.entity.Office;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * 项目督办功能描述Entity
 * @author liyun
 * @version 2017-08-19
 */
public class AamsProject extends DataEntity<AamsProject> {
	
	private static final long serialVersionUID = 1L;
	private String num;		// 项目编号
	private String level;		// level
	private String items;		// 督办事项
	private String source;		// 来源
	private Office office;		// 责任部门
	private String jobPlain;		// 工作计划
	private Date willFinishTime;		// 办结时限
	private String evolve;		// 进展情况
	private String estimate;		// 执行评估
	private Date estimateTime;		// 评估时间
	private String comments;		// 备注
	private Date endTime;		// 项目结束日期
	private String files;		// 附件
	private String orderNum;		// 列表排序
	private String status;		// 状态（1项目建立；2进行中；3需督促；4已结项；）
	
	public AamsProject() {
		super();
	}

	public AamsProject(String id){
		super(id);
	}

	@Length(min=0, max=20, message="项目编号长度必须介于 0 和 20 之间")
	public String getNum() {
		return num;
	}

	public void setNum(String num) {
		this.num = num;
	}
	
	@Length(min=0, max=500, message="level长度必须介于 0 和 500 之间")
	public String getLevel() {
		return level;
	}

	public void setLevel(String level) {
		this.level = level;
	}
	
	public String getItems() {
		return items;
	}

	public void setItems(String items) {
		this.items = items;
	}
	
	@Length(min=0, max=100, message="来源长度必须介于 0 和 100 之间")
	public String getSource() {
		return source;
	}

	public void setSource(String source) {
		this.source = source;
	}
	
	public Office getOffice() {
		return office;
	}

	public void setOffice(Office office) {
		this.office = office;
	}
	
	public String getJobPlain() {
		return jobPlain;
	}

	public void setJobPlain(String jobPlain) {
		this.jobPlain = jobPlain;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getWillFinishTime() {
		return willFinishTime;
	}

	public void setWillFinishTime(Date willFinishTime) {
		this.willFinishTime = willFinishTime;
	}
	
	@Length(min=0, max=500, message="进展情况长度必须介于 0 和 500 之间")
	public String getEvolve() {
		return evolve;
	}

	public void setEvolve(String evolve) {
		this.evolve = evolve;
	}
	
	@Length(min=0, max=255, message="执行评估长度必须介于 0 和 255 之间")
	public String getEstimate() {
		return estimate;
	}

	public void setEstimate(String estimate) {
		this.estimate = estimate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getEstimateTime() {
		return estimateTime;
	}

	public void setEstimateTime(Date estimateTime) {
		this.estimateTime = estimateTime;
	}
	
	public String getComments() {
		return comments;
	}

	public void setComments(String comments) {
		this.comments = comments;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getEndTime() {
		return endTime;
	}

	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}
	
	@Length(min=0, max=500, message="附件长度必须介于 0 和 500 之间")
	public String getFiles() {
		return files;
	}

	public void setFiles(String files) {
		this.files = files;
	}
	
	@Length(min=0, max=11, message="列表排序长度必须介于 0 和 11 之间")
	public String getOrderNum() {
		return orderNum;
	}

	public void setOrderNum(String orderNum) {
		this.orderNum = orderNum;
	}
	
	@Length(min=0, max=1, message="状态（1项目建立；2进行中；3需督促；4已结项；）长度必须介于 0 和 1 之间")
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
	
}